The invention generally relates to a discrete filter.
Electronic filters may be used in a wide range of applications. As examples, filters may be used in digital imaging applications to filter out noise, and filters may be used in wireless communication applications to reduce inter-symbol interference and aliasing effects. One general type of filter is a discrete, or digital filter, that may form the basis of most digital signal processing (DSP) operations.
The digital filter may be a finite impulse response (FIR) filter, a filter in which the impulse response of the filter is zero outside of a predefined interval; or an infinite impulse response filter (IIR), a filter in which the impulse response of the filter does not fall to zero outside of a predefined interval. As an example, the FIR filter receives indications of sampled values (called x( )) of an input signal to produce digitized values (called y(i)) of the filtered output signal, as described by the following equation:
                                          y            ⁡                          (              i              )                                =                                                    ∑                                  j                  =                                      -                    N                                                  N                            ⁢                                                C                  ⁡                                      (                    j                    )                                                  ·                                  x                  ⁡                                      (                                          i                      +                      j                                        )                                                                        =                                                            C                  ⁡                                      (                    0                    )                                                  ·                                  x                  ⁡                                      (                    i                    )                                                              +                                                ∑                                      i                    =                    1                                    N                                ⁢                                  {                                                                                    C                        ⁡                                                  (                          j                          )                                                                    ·                                              x                        ⁡                                                  (                                                      i                            +                            j                                                    )                                                                                      +                                                                  C                        ⁡                                                  (                                                      -                            j                                                    )                                                                    ·                                              x                        ⁡                                                  (                                                      i                            -                            j                                                    )                                                                                                      }                                                                    ,                            Eq        .                                  ⁢                  (          1          )                    where “C(j)” represents a particular filter coefficient and “j” denotes the index value used in the summation. The number of coefficients (2N+1) in Eq. 1 equals the number of taps of the filter. The filter may be further classified as being symmetric or asymmetric. For a symmetric filter, the C(j) coefficients are symmetric about j=0. Thus, C(−n)=C(n) for a symmetric filter. Otherwise, the filter is asymmetric.
A conventional filter may use a general purpose DSP processor to perform the summation described by Eq. 1 to derive each y(i) value. In this manner, the DSP processor may include a multiplier-accumulator (MAC) unit that uses a multiple number of processing clock cycles (one for each multiplication, for example) to derive each y(i) value. Unfortunately, the processing time of this arrangement may be too long for some applications. Alternatively, an arrangement called a tapped delay line may be used to produce the y(i) values. The tapped delay line includes serially coupled processing stages, and each processing stage is associated with one of the C(j) coefficients. Unfortunately, a conventional tapped delay line is specifically designed for a specific number of taps, a feature that limits the number of filter designs that may use this delay line. Furthermore, due to its size, the tapped delay line may occupy a large semiconductor area and may consume a considerable amount of power.
Thus, there is a continuing need for an arrangement that addresses one or more of the problems that are stated above.